(function(a) {
    function u(j, b) {
        function g(j) {
            return a.isArray(p.readonly) ? (j = a(".dwwl", z).index(j), p.readonly[j]) : p.readonly
        }
        function m(a) {
            var j = '<div class="dw-bf">',
            c = 1,
            b;
            for (b in $[a]) 0 == c % 20 && (j += '</div><div class="dw-bf">'),
            j += '<div class="dw-li dw-v" data-val="' + b + '" style="height:' + M + "px;line-height:" + M + 'px;"><div class="dw-i">' + $[a][b] + "</div></div>",
            c++;
            return j + "</div>"
        }
        function q(j) {
            f = a(".dw-li", j).index(a(".dw-v", j).eq(0));
            s = a(".dw-li", j).index(a(".dw-v", j).eq( - 1));
            E = a(".dw-ul", z).index(j);
            i = M;
            x = n
        }
        function t(a) {
            var j = p.headerText;
            return j ? "function" == typeof j ? j.call(R, a) : j.replace(/\{value\}/i, a) : ""
        }
        function k() {
            n.temp = Y && null !== n.val && n.val != G.val() || null === n.values ? p.parseValue(G.val() || "", n) : n.values.slice(0);
            n.setValue(!0)
        }
        function o(j, c, b, f, i) { ! 1 !== N("validate", [z, c, j]) && (a(".dw-ul", z).each(function(b) {
                var d = a(this),
                e = a('.dw-li[data-val="' + n.temp[b] + '"]', d),
                h = a(".dw-li", d),
                g = h.index(e),
                p = h.length,
                l = b == c || void 0 === c;
                if (!e.hasClass("dw-v")) {
                    for (var I = e,
                    m = 0,
                    q = 0; 0 <= g - m && !I.hasClass("dw-v");) m++,
                    I = h.eq(g - m);
                    for (; g + q < p && !e.hasClass("dw-v");) q++,
                    e = h.eq(g + q); (q < m && q && 2 !== f || !m || 0 > g - m || 1 == f) && e.hasClass("dw-v") ? g += q: (e = I, g -= m)
                }
                if (!e.hasClass("dw-sel") || l) n.temp[b] = e.attr("data-val"),
                a(".dw-sel", d).removeClass("dw-sel"),
                e.addClass("dw-sel"),
                n.scroll(d, b, g, l ? j: 0.1, l ? i: void 0)
            }), n.change(b))
        }
        function u(j) {
            if (! ("inline" == p.display || S === a(window).width() && ca === a(window).height() && j)) {
                var c, b, e, d, f, i, g, h, m, l = 0,
                q = 0,
                j = a(window).scrollTop();
                d = a(".dwwr", z);
                var I = a(".dw", z),
                n = {};
                f = void 0 === p.anchor ? G: p.anchor;
                S = a(window).width();
                ca = a(window).height();
                O = (O = window.innerHeight) || ca;
                /modal|bubble/.test(p.display) && (a(".dwc", z).each(function() {
                    c = a(this).outerWidth(!0);
                    l += c;
                    q = c > q ? c: q
                }), c = l > S ? q: l, d.width(c));
                V = I.outerWidth();
                P = I.outerHeight(!0);
                "modal" == p.display ? (b = (S - V) / 2, e = j + (O - P) / 2) : "bubble" == p.display ? (m = !0, h = a(".dw-arrw-i", z), b = f.offset(), i = b.top, g = b.left, d = f.outerWidth(), f = f.outerHeight(), b = g - (I.outerWidth(!0) - d) / 2, b = b > S - V ? S - (V + 20) : b, b = 0 <= b ? b: 20, e = i - P, e < j || i > j + O ? (I.removeClass("dw-bubble-top").addClass("dw-bubble-bottom"), e = i + f) : I.removeClass("dw-bubble-bottom").addClass("dw-bubble-top"), h = h.outerWidth(), d = g + d / 2 - (b + (V - h) / 2), a(".dw-arr", z).css({
                    left: d > h ? h: d
                })) : (n.width = "100%", "top" == p.display ? e = j: "bottom" == p.display && (e = j + O - P));
                n.top = 0 > e ? 0 : e;
                n.left = b;
                I.css(n);
                a(".dw-persp", z).height(0).height(e + P > a(document).height() ? e + P: a(document).height());
                m && (e + P > j + O || i > j + O) && a(window).scrollTop(e + P - O)
            }
        }
        function ga(a) {
            if ("touchstart" === a.type) J = !0,
            setTimeout(function() {
                J = !1
            },
            500);
            else if (J) return J = !1;
            return ! 0
        }
        function N(j, c) {
            var e;
            c.push(n);
            a.each([aa, b],
            function(a, b) {
                b[j] && (e = b[j].apply(R, c))
            });
            return e
        }
        function ma(a) {
            var j = +a.data("pos") + 1;
            l(a, j > s ? f: j, 1, !0)
        }
        function na(a) {
            var j = +a.data("pos") - 1;
            l(a, j < f ? s: j, 2, !0)
        }
        var ha, M, Q, z, S, O, ca, V, P, T, ia, n = this,
        da = a.mobiscroll,
        R = j,
        G = a(R),
        ea,
        ja,
        p = H({},
        ka),
        aa = {},
        $ = [],
        W = {},
        fa = {},
        Y = G.is("input"),
        X = !1;
        n.enable = function() {
            p.disabled = !1;
            Y && G.prop("disabled", !1)
        };
        n.disable = function() {
            p.disabled = !0;
            Y && G.prop("disabled", !0)
        };
        n.scroll = function(a, j, b, c, f) {
            function i() {
                clearInterval(W[j]);
                delete W[j];
                a.data("pos", b).closest(".dwwl").removeClass("dwa")
            }
            var g = (ha - b) * M,
            h;
            g == fa[j] && W[j] || (fa[j] = g, a.attr("style", d + "-transition:all " + (c ? c.toFixed(3) : 0) + "s ease-out;" + (e ? d + "-transform:translate3d(0," + g + "px,0);": "top:" + g + "px;")), W[j] && i(), c && void 0 !== f ? (h = 0, a.closest(".dwwl").addClass("dwa"), W[j] = setInterval(function() {
                h += 0.1;
                a.data("pos", Math.round((b - f) * Math.sin(h / c * (Math.PI / 2)) + f));
                h >= c && i()
            },
            100)) : a.data("pos", b))
        };
        n.setValue = function(j, b, c, e) {
            a.isArray(n.temp) || (n.temp = p.parseValue(n.temp + "", n));
            X && j && o(c);
            Q = p.formatResult(n.temp);
            e || (n.values = n.temp.slice(0), n.val = Q);
            b && Y && G.val(Q).trigger("change")
        };
        n.getValues = function() {
            var a = [],
            j;
            for (j in n._selectedValues) a.push(n._selectedValues[j]);
            return a
        };
        n.validate = function(a, j, b, c) {
            o(b, a, !0, j, c)
        };
        n.change = function(j) {
            Q = p.formatResult(n.temp);
            "inline" == p.display ? n.setValue(!1, j) : a(".dwv", z).html(t(Q));
            j && N("onChange", [Q])
        };
        n.changeWheel = function(j, b) {
            if (z) {
                var c = 0,
                e, f, d = j.length;
                for (e in p.wheels) for (f in p.wheels[e]) {
                    if ( - 1 < a.inArray(c, j) && ($[c] = p.wheels[e][f], a(".dw-ul", z).eq(c).html(m(c)), d--, !d)) {
                        u();
                        o(b, void 0, !0);
                        return
                    }
                    c++
                }
            }
        };
        n.isVisible = function() {
            return X
        };
        n.tap = function(a, j) {
            var c, b;
            p.tap && a.bind("touchstart",
            function(a) {
                a.preventDefault();
                c = B(a, "X");
                b = B(a, "Y")
            }).bind("touchend",
            function(a) {
                20 > Math.abs(B(a, "X") - c) && 20 > Math.abs(B(a, "Y") - b) && j.call(this, a);
                L = !0;
                setTimeout(function() {
                    L = !1
                },
                300)
            });
            a.bind("click",
            function(a) {
                L || j.call(this, a)
            })
        };
        n.show = function(j) {
            if (p.disabled || X) return ! 1;
            "top" == p.display && (T = "slidedown");
            "bottom" == p.display && (T = "slideup");
            k();
            N("onBeforeShow", [z]);
            var b = 0,
            e, f = "";
            T && !j && (f = "dw-" + T + " dw-in");
            for (var d = '<div class="dw-trans ' + p.theme + " dw-" + p.display + '">' + ("inline" == p.display ? '<div class="dw dwbg dwi"><div class="dwwr">': '<div class="dw-persp"><div class="dwo"></div><div class="dw dwbg ' + f + '"><div class="dw-arrw"><div class="dw-arrw-i"><div class="dw-arr"></div></div></div><div class="dwwr">' + (p.headerText ? '<div class="dwv"></div>': "")), j = 0; j < p.wheels.length; j++) {
                d += '<div class="dwc' + ("scroller" != p.mode ? " dwpm": " dwsc") + (p.showLabel ? "": " dwhl") + '"><div class="dwwc dwrc"><table cellpadding="0" cellspacing="0"><tr>';
                for (e in p.wheels[j]) $[b] = p.wheels[j][e],
                d += '<td><div class="dwwl dwrc dwwl' + b + '">' + ("scroller" != p.mode ? '<div class="dwwb dwwbp" style="height:' + M + "px;line-height:" + M + 'px;"><span>+</span></div><div class="dwwb dwwbm" style="height:' + M + "px;line-height:" + M + 'px;"><span>&ndash;</span></div>': "") + '<div class="dwl">' + e + '</div><div class="dww" style="height:' + p.rows * M + "px;min-width:" + p.width + 'px;"><div class="dw-ul">',
                d += m(b),
                d += '</div><div class="dwwo"></div></div><div class="dwwol"></div></div></td>',
                b++;
                d += "</tr></table></div></div>"
            }
            d += ("inline" != p.display ? '<div class="dwbc' + (p.button3 ? " dwbc-p": "") + '"><span class="dwbw dwb-s"><span class="dwb">' + p.setText + "</span></span>" + (p.button3 ? '<span class="dwbw dwb-n"><span class="dwb">' + p.button3Text + "</span></span>": "") + '<span class="dwbw dwb-c"><span class="dwb">' + p.cancelText + "</span></span></div></div>": '<div class="dwcc"></div>') + "</div></div></div>";
            z = a(d);
            o();
            N("onMarkupReady", [z]);
            "inline" != p.display ? (z.appendTo("body"), setTimeout(function() {
                z.removeClass("dw-trans").find(".dw").removeClass(f)
            },
            350)) : G.is("div") ? G.html(z) : z.insertAfter(G);
            X = !0;
            ea.init(z, n);
            "inline" != p.display && (n.tap(a(".dwb-s span", z),
            function() {
                if (n.hide(false, "set") !== false) {
                    n.setValue(false, true);
                    N("onSelect", [n.val])
                }
            }), n.tap(a(".dwb-c span", z),
            function() {
                n.cancel()
            }), p.button3 && n.tap(a(".dwb-n span", z), p.button3), p.scrollLock && z.bind("touchmove",
            function(a) {
                P <= O && V <= S && a.preventDefault()
            }), a("input,select,button").each(function() {
                a(this).prop("disabled") || a(this).addClass("dwtd").prop("disabled", true)
            }), u(), a(window).bind("resize.dw",
            function() {
                clearTimeout(ia);
                ia = setTimeout(function() {
                    u(true)
                },
                100)
            }));
            z.delegate(".dwwl", "DOMMouseScroll mousewheel",
            function(j) {
                if (!g(this)) {
                    j.preventDefault();
                    var j = j.originalEvent,
                    j = j.wheelDelta ? j.wheelDelta / 120 : j.detail ? -j.detail / 3 : 0,
                    b = a(".dw-ul", this),
                    c = +b.data("pos"),
                    c = Math.round(c - j);
                    q(b);
                    l(b, c, j < 0 ? 1 : 2)
                }
            }).delegate(".dwb, .dwwb", Z,
            function() {
                a(this).addClass("dwb-a")
            }).delegate(".dwwb", Z,
            function(j) {
                j.stopPropagation();
                j.preventDefault();
                var b = a(this).closest(".dwwl");
                if (ga(j) && !g(b) && !b.hasClass("dwa")) {
                    A = true;
                    var c = b.find(".dw-ul"),
                    e = a(this).hasClass("dwwbp") ? ma: na;
                    q(c);
                    clearInterval(C);
                    C = setInterval(function() {
                        e(c)
                    },
                    p.delay);
                    e(c)
                }
            }).delegate(".dwwl", Z,
            function(j) {
                j.preventDefault();
                if (ga(j) && !h && !g(this) && !A) {
                    h = true;
                    a(document).bind(I, la);
                    v = a(".dw-ul", this);
                    c = p.mode != "clickpick";
                    D = +v.data("pos");
                    q(v);
                    F = W[E] !== void 0;
                    w = B(j, "Y");
                    K = new Date;
                    y = w;
                    n.scroll(v, E, D, 0.0010);
                    c && v.closest(".dwwl").addClass("dwa")
                }
            });
            N("onShow", [z, Q])
        };
        n.hide = function(j, b) {
            if (!1 === N("onClose", [Q, b])) return ! 1;
            a(".dwtd").prop("disabled", !1).removeClass("dwtd");
            G.blur();
            z && ("inline" != p.display && T && !j ? (z.addClass("dw-trans").find(".dw").addClass("dw-" + T + " dw-out"), setTimeout(function() {
                z.remove();
                z = null
            },
            350)) : (z.remove(), z = null), X = !1, fa = {},
            a(window).unbind(".dw"))
        };
        n.cancel = function() { ! 1 !== n.hide(!1, "cancel") && N("onCancel", [n.val])
        };
        n.init = function(a) {
            ea = H({
                defaults: {},
                init: r
            },
            da.themes[a.theme || p.theme]);
            ja = da.i18n[a.lang || p.lang];
            H(b, a);
            H(p, ea.defaults, ja, b);
            n.settings = p;
            G.unbind(".dw");
            if (a = da.presets[p.preset]) aa = a.call(R, n),
            H(p, aa, b),
            H(ba, aa.methods);
            ha = Math.floor(p.rows / 2);
            M = p.height;
            T = p.animate;
            void 0 !== G.data("dwro") && (R.readOnly = U(G.data("dwro")));
            X && n.hide();
            "inline" == p.display ? n.show() : (k(), Y && p.showOnFocus && (G.data("dwro", R.readOnly), R.readOnly = !0, G.bind("focus.dw",
            function() {
                n.show()
            })))
        };
        n.trigger = function(a, j) {
            return N(a, j)
        };
        n.values = null;
        n.val = null;
        n.temp = null;
        n._selectedValues = {};
        n.init(b)
    }
    function k(a) {
        for (var c in a) if (void 0 !== b[a[c]]) return ! 0;
        return ! 1
    }
    function o(a) {
        return g[a.id]
    }
    function B(a, b) {
        var c = a.originalEvent,
        e = a.changedTouches;
        return e || c && c.changedTouches ? c ? c.changedTouches[0]["page" + b] : e[0]["page" + b] : a["page" + b]
    }
    function U(a) {
        return ! 0 === a || "true" == a
    }
    function t(a, b, c) {
        a = a > c ? c: a;
        return a < b ? b: a
    }
    function l(j, b, c, e, d) {
        var b = t(b, f, s),
        i = a(".dw-li", j).eq(b),
        g = void 0 === d ? b: d,
        h = E,
        l = e ? b == g ? 0.1 : Math.abs(0.1 * (b - g)) : 0;
        x.temp[h] = i.attr("data-val");
        x.scroll(j, h, b, l, d);
        setTimeout(function() {
            x.validate(h, c, l, d)
        },
        10)
    }
    function m(a, b, c) {
        return ba[b] ? ba[b].apply(a, Array.prototype.slice.call(c, 1)) : "object" === typeof b ? ba.init.call(a, b) : a
    }
    var g = {},
    C, r = function() {},
    i,
    f,
    s,
    x,
    q = (new Date).getTime(),
    h,
    A,
    v,
    E,
    w,
    y,
    K,
    D,
    F,
    c,
    b = document.createElement("modernizr").style,
    e = k(["perspectiveProperty", "WebkitPerspective", "MozPerspective", "OPerspective", "msPerspective"]),
    d = function() {
        var a = ["Webkit", "Moz", "O", "ms"],
        b;
        for (b in a) if (k([a[b] + "Transform"])) return "-" + a[b].toLowerCase();
        return ""
    } (),
    H = a.extend,
    L,
    J,
    Z = "touchstart mousedown",
    I = "touchmove mousemove",
    la = function(a) {
        c && (a.preventDefault(), y = B(a, "Y"), x.scroll(v, E, t(D + (w - y) / i, f - 1, s + 1)));
        F = !0
    },
    ka = {
        width: 70,
        height: 40,
        rows: 3,
        delay: 300,
        disabled: !1,
        readonly: !1,
        showOnFocus: !0,
        showLabel: !0,
        wheels: [],
        theme: "",
        headerText: "{value}",
        display: "modal",
        mode: "scroller",
        preset: "",
        lang: "en-US",
        setText: "Set",
        cancelText: "Cancel",
        scrollLock: !0,
        tap: !0,
        formatResult: function(a) {
            return a.join(" ")
        },
        parseValue: function(a, b) {
            var c = b.settings.wheels,
            e = a.split(" "),
            d = [],
            f = 0,
            h,
            g,
            i;
            for (h = 0; h < c.length; h++) for (g in c[h]) {
                if (void 0 !== c[h][g][e[f]]) d.push(e[f]);
                else for (i in c[h][g]) {
                    d.push(i);
                    break
                }
                f++
            }
            return d
        }
    },
    ba = {
        init: function(a) {
            void 0 === a && (a = {});
            return this.each(function() {
                this.id || (q += 1, this.id = "scoller" + q);
                g[this.id] = new u(this, a)
            })
        },
        enable: function() {
            return this.each(function() {
                var a = o(this);
                a && a.enable()
            })
        },
        disable: function() {
            return this.each(function() {
                var a = o(this);
                a && a.disable()
            })
        },
        isDisabled: function() {
            var a = o(this[0]);
            if (a) return a.settings.disabled
        },
        isVisible: function() {
            var a = o(this[0]);
            if (a) return a.isVisible()
        },
        option: function(a, b) {
            return this.each(function() {
                var c = o(this);
                if (c) {
                    var e = {};
                    "object" === typeof a ? e = a: e[a] = b;
                    c.init(e)
                }
            })
        },
        setValue: function(a, b, c, e) {
            return this.each(function() {
                var d = o(this);
                d && (d.temp = a, d.setValue(!0, b, c, e))
            })
        },
        getInst: function() {
            return o(this[0])
        },
        getValue: function() {
            var a = o(this[0]);
            if (a) return a.values
        },
        getValues: function() {
            var a = o(this[0]);
            if (a) return a.getValues()
        },
        show: function() {
            var a = o(this[0]);
            if (a) return a.show()
        },
        hide: function() {
            return this.each(function() {
                var a = o(this);
                a && a.hide()
            })
        },
        destroy: function() {
            return this.each(function() {
                var b = o(this);
                b && (b.hide(), a(this).unbind(".dw"), delete g[this.id], a(this).is("input") && (this.readOnly = U(a(this).data("dwro"))))
            })
        }
    };
    a(document).bind("touchend mouseup",
    function() {
        if (h) {
            var b = new Date - K,
            e = t(D + (w - y) / i, f - 1, s + 1),
            d,
            g = v.offset().top;
            300 > b ? (b = (y - w) / b, d = b * b / 0.0012, 0 > y - w && (d = -d)) : d = y - w;
            b = Math.round(D - d / i);
            if (!d && !F) {
                var g = Math.floor((y - g) / i),
                q = a(".dw-li", v).eq(g);
                d = c; ! 1 !== x.trigger("onValueTap", [q]) ? b = g: d = !0;
                d && (q.addClass("dw-hl"), setTimeout(function() {
                    q.removeClass("dw-hl")
                },
                200))
            }
            c && l(v, b, 0, !0, Math.round(e));
            h = !1;
            v = null;
            a(document).unbind(I, la)
        }
        A && (clearInterval(C), A = !1);
        a(".dwb-a").removeClass("dwb-a")
    }).bind("mouseover mouseup mousedown click",
    function(a) {
        if (L) return a.stopPropagation(),
        a.preventDefault(),
        !1
    });
    a.fn.mobiscroll = function(b) {
        H(this, a.mobiscroll.shorts);
        return m(this, b, arguments)
    };
    a.mobiscroll = a.mobiscroll || {
        setDefaults: function(a) {
            H(ka, a)
        },
        presetShort: function(a) {
            this.shorts[a] = function(b) {
                return m(this, H(b, {
                    preset: a
                }), arguments)
            }
        },
        shorts: {},
        presets: {},
        themes: {},
        i18n: {}
    };
    a.scroller = a.scroller || a.mobiscroll;
    a.fn.scroller = a.fn.scroller || a.fn.mobiscroll
})(jQuery); (function(a) {
    a.mobiscroll.i18n.hu = a.extend(a.mobiscroll.i18n.hu, {
        setText: "OK",
        cancelText: "M\u00e9gse"
    })
})(jQuery); (function(a) {
    a.mobiscroll.i18n.de = a.extend(a.mobiscroll.i18n.de, {
        setText: "OK",
        cancelText: "Abbrechen"
    })
})(jQuery); (function(a) {
    a.mobiscroll.i18n.es = a.extend(a.mobiscroll.i18n.es, {
        setText: "Aceptar",
        cancelText: "Cancelar"
    })
})(jQuery); (function(a) {
    a.mobiscroll.i18n.fr = a.extend(a.mobiscroll.i18n.fr, {
        setText: "Termin\u00e9",
        cancelText: "Annuler"
    })
})(jQuery); (function(a) {
    a.mobiscroll.i18n.it = a.extend(a.mobiscroll.i18n.it, {
        setText: "OK",
        cancelText: "Annulla"
    })
})(jQuery); (function(a) {
    a.mobiscroll.i18n.no = a.extend(a.mobiscroll.i18n.no, {
        setText: "OK",
        cancelText: "Avbryt"
    })
})(jQuery); (function(a) {
    a.mobiscroll.i18n["pt-BR"] = a.extend(a.mobiscroll.i18n["pt-BR"], {
        setText: "Selecionar",
        cancelText: "Cancelar"
    })
})(jQuery); (function(a) {
    var u = a.mobiscroll,
    k = new Date,
    o = {
        dateFormat: "mm/dd/yy",
        dateOrder: "mmddy",
        timeWheels: "hhiiA",
        timeFormat: "hh:ii A",
        startYear: k.getFullYear() - 100,
        endYear: k.getFullYear() + 1,
        monthNames: "January,February,March,April,May,June,July,August,September,October,November,December".split(","),
        monthNamesShort: "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),
        dayNames: "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),
        dayNamesShort: "Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(","),
        shortYearCutoff: "+10",
        monthText: "Month",
        dayText: "Day",
        yearText: "Year",
        hourText: "Hours",
        minuteText: "Minutes",
        secText: "Seconds",
        ampmText: "&nbsp;",
        nowText: "Now",
        showNow: !1,
        stepHour: 1,
        stepMinute: 1,
        stepSecond: 1,
        separator: " "
    },
    B = function(k) {
        function t(a, b, d) {
            return void 0 !== q[b] ? +a[q[b]] : void 0 !== d ? d: c[A[b]] ? c[A[b]]() : A[b](c)
        }
        function l(a, b) {
            return Math.floor(a / b) * b
        }
        function m(a) {
            var b = t(a, "h", 0);
            return new Date(t(a, "y"), t(a, "m"), t(a, "d", 1), t(a, "a") ? b + 12 : b, t(a, "i", 0), t(a, "s", 0))
        }
        var g = a(this),
        C = {},
        r;
        if (g.is("input")) {
            switch (g.attr("type")) {
            case "date":
                r = "yy-mm-dd";
                break;
            case "datetime":
                r = "yy-mm-ddTHH:ii:ssZ";
                break;
            case "datetime-local":
                r = "yy-mm-ddTHH:ii:ss";
                break;
            case "month":
                r = "yy-mm";
                C.dateOrder = "mmyy";
                break;
            case "time":
                r = "HH:ii:ss"
            }
            var i = g.attr("min"),
            g = g.attr("max");
            i && (C.minDate = u.parseDate(r, i));
            g && (C.maxDate = u.parseDate(r, g))
        }
        var f = a.extend({},
        o, C, k.settings),
        s = 0,
        C = [],
        x = [],
        q = {},
        h,
        A = {
            y: "getFullYear",
            m: "getMonth",
            d: "getDate",
            h: function(a) {
                a = a.getHours();
                a = D && 12 <= a ? a - 12 : a;
                return l(a, b)
            },
            i: function(a) {
                return l(a.getMinutes(), e)
            },
            s: function(a) {
                return l(a.getSeconds(), d)
            },
            a: function(a) {
                return K && 11 < a.getHours() ? 1 : 0
            }
        },
        v = f.preset,
        B = f.dateOrder,
        w = f.timeWheels,
        y = B.match(/D/),
        K = w.match(/a/i),
        D = w.match(/h/),
        F = "datetime" == v ? f.dateFormat + f.separator + f.timeFormat: "time" == v ? f.timeFormat: f.dateFormat,
        c = new Date,
        b = f.stepHour,
        e = f.stepMinute,
        d = f.stepSecond,
        H = f.minDate || new Date(f.startYear, 0, 1),
        L = f.maxDate || new Date(f.endYear, 11, 31, 23, 59, 59);
        k.settings = f;
        r = r || F;
        if (v.match(/date/i)) {
            a.each(["y", "m", "d"],
            function(a, b) {
                h = B.search(RegExp(b, "i")); - 1 < h && x.push({
                    o: h,
                    v: b
                })
            });
            x.sort(function(a, b) {
                return a.o > b.o ? 1 : -1
            });
            a.each(x,
            function(a, b) {
                q[b.v] = a
            });
            g = {};
            for (i = 0; 3 > i; i++) if (i == q.y) {
                s++;
                g[f.yearText] = {};
                var J = H.getFullYear(),
                Z = L.getFullYear();
                for (h = J; h <= Z; h++) g[f.yearText][h] = B.match(/yy/i) ? h: (h + "").substr(2, 2)
            } else if (i == q.m) {
                s++;
                g[f.monthText] = {};
                for (h = 0; 12 > h; h++) J = B.replace(/[dy]/gi, "").replace(/mm/, 9 > h ? "0" + (h + 1) : h + 1).replace(/m/, h + 1),
                g[f.monthText][h] = J.match(/MM/) ? J.replace(/MM/, '<span class="dw-mon">' + f.monthNames[h] + "</span>") : J.replace(/M/, '<span class="dw-mon">' + f.monthNamesShort[h] + "</span>")
            } else if (i == q.d) {
                s++;
                g[f.dayText] = {};
                for (h = 1; 32 > h; h++) g[f.dayText][h] = B.match(/dd/i) && 10 > h ? "0" + h: h
            }
            C.push(g)
        }
        if (v.match(/time/i)) {
            x = [];
            a.each(["h", "i", "s", "a"],
            function(a, b) {
                a = w.search(RegExp(b, "i")); - 1 < a && x.push({
                    o: a,
                    v: b
                })
            });
            x.sort(function(a, b) {
                return a.o > b.o ? 1 : -1
            });
            a.each(x,
            function(a, b) {
                q[b.v] = s + a
            });
            g = {};
            for (i = s; i < s + 4; i++) if (i == q.h) {
                s++;
                g[f.hourText] = {};
                for (h = 0; h < (D ? 12 : 24); h += b) g[f.hourText][h] = D && 0 == h ? 12 : w.match(/hh/i) && 10 > h ? "0" + h: h
            } else if (i == q.i) {
                s++;
                g[f.minuteText] = {};
                for (h = 0; 60 > h; h += e) g[f.minuteText][h] = w.match(/ii/) && 10 > h ? "0" + h: h
            } else if (i == q.s) {
                s++;
                g[f.secText] = {};
                for (h = 0; 60 > h; h += d) g[f.secText][h] = w.match(/ss/) && 10 > h ? "0" + h: h
            } else i == q.a && (s++, v = w.match(/A/), g[f.ampmText] = {
                "0": v ? "AM": "am",
                1 : v ? "PM": "pm"
            });
            C.push(g)
        }
        k.setDate = function(a, b, c, d) {
            for (var e in q) this.temp[q[e]] = a[A[e]] ? a[A[e]]() : A[e](a);
            this.setValue(!0, b, c, d)
        };
        k.getDate = function(a) {
            return m(a)
        };
        return {
            button3Text: f.showNow ? f.nowText: void 0,
            button3: f.showNow ?
            function() {
                k.setDate(new Date, !1, 0.3, !0)
            }: void 0,
            wheels: C,
            headerText: function() {
                return u.formatDate(F, m(k.temp), f)
            },
            formatResult: function(a) {
                return u.formatDate(r, m(a), f)
            },
            parseValue: function(a) {
                var b = new Date,
                c, d = [];
                try {
                    b = u.parseDate(r, a, f)
                } catch(e) {}
                for (c in q) d[q[c]] = b[A[c]] ? b[A[c]]() : A[c](b);
                return d
            },
            validate: function(c) {
                var g = k.temp,
                h = {
                    y: H.getFullYear(),
                    m: 0,
                    d: 1,
                    h: 0,
                    i: 0,
                    s: 0,
                    a: 0
                },
                i = {
                    y: L.getFullYear(),
                    m: 11,
                    d: 31,
                    h: l(D ? 11 : 23, b),
                    i: l(59, e),
                    s: l(59, d),
                    a: 1
                },
                j = !0,
                m = !0;
                a.each("y,m,d,a,h,i,s".split(","),
                function(b, d) {
                    if (q[d] !== void 0) {
                        var e = h[d],
                        l = i[d],
                        r = 31,
                        k = t(g, d),
                        F = a(".dw-ul", c).eq(q[d]),
                        s,
                        o;
                        if (d == "d") {
                            s = t(g, "y");
                            o = t(g, "m");
                            l = r = 32 - (new Date(s, o, 32)).getDate();
                            y && a(".dw-li", F).each(function() {
                                var b = a(this),
                                c = b.data("val"),
                                d = (new Date(s, o, c)).getDay(),
                                c = B.replace(/[my]/gi, "").replace(/dd/, c < 10 ? "0" + c: c).replace(/d/, c);
                                a(".dw-i", b).html(c.match(/DD/) ? c.replace(/DD/, '<span class="dw-day">' + f.dayNames[d] + "</span>") : c.replace(/D/, '<span class="dw-day">' + f.dayNamesShort[d] + "</span>"))
                            })
                        }
                        j && H && (e = H[A[d]] ? H[A[d]]() : A[d](H));
                        m && L && (l = L[A[d]] ? L[A[d]]() : A[d](L));
                        if (d != "y") {
                            var J = a(".dw-li", F).index(a('.dw-li[data-val="' + e + '"]', F)),
                            u = a(".dw-li", F).index(a('.dw-li[data-val="' + l + '"]', F));
                            a(".dw-li", F).removeClass("dw-v").slice(J, u + 1).addClass("dw-v");
                            d == "d" && a(".dw-li", F).removeClass("dw-h").slice(r).addClass("dw-h")
                        }
                        k < e && (k = e);
                        k > l && (k = l);
                        j && (j = k == e);
                        m && (m = k == l);
                        if (f.invalid && d == "d") {
                            var x = [];
                            f.invalid.dates && a.each(f.invalid.dates,
                            function(a, b) {
                                b.getFullYear() == s && b.getMonth() == o && x.push(b.getDate() - 1)
                            });
                            if (f.invalid.daysOfWeek) {
                                var w = (new Date(s, o, 1)).getDay(),
                                v;
                                a.each(f.invalid.daysOfWeek,
                                function(a, b) {
                                    for (v = b - w; v < r; v = v + 7) v >= 0 && x.push(v)
                                })
                            }
                            f.invalid.daysOfMonth && a.each(f.invalid.daysOfMonth,
                            function(a, b) {
                                b = (b + "").split("/");
                                b[1] ? b[0] - 1 == o && x.push(b[1] - 1) : x.push(b[0] - 1)
                            });
                            a.each(x,
                            function(b, c) {
                                a(".dw-li", F).eq(c).removeClass("dw-v")
                            })
                        }
                        g[q[d]] = k
                    }
                })
            },
            methods: {
                getDate: function(b) {
                    var c = a(this).mobiscroll("getInst");
                    if (c) return c.getDate(b ? c.temp: c.values)
                },
                setDate: function(b, c, d, e) {
                    void 0 == c && (c = !1);
                    return this.each(function() {
                        var j = a(this).mobiscroll("getInst");
                        j && j.setDate(b, c, d, e)
                    })
                }
            }
        }
    };
    a.each(["date", "time", "datetime"],
    function(a, k) {
        u.presets[k] = B;
        u.presetShort(k)
    });
    u.formatDate = function(k, t, l) {
        if (!t) return null;
        var l = a.extend({},
        o, l),
        m = function(a) {
            for (var g = 0; r + 1 < k.length && k.charAt(r + 1) == a;) g++,
            r++;
            return g
        },
        g = function(a, g, f) {
            g = "" + g;
            if (m(a)) for (; g.length < f;) g = "0" + g;
            return g
        },
        u = function(a, g, f, i) {
            return m(a) ? i[g] : f[g]
        },
        r,
        i = "",
        f = !1;
        for (r = 0; r < k.length; r++) if (f)"'" == k.charAt(r) && !m("'") ? f = !1 : i += k.charAt(r);
        else switch (k.charAt(r)) {
        case "d":
            i += g("d", t.getDate(), 2);
            break;
        case "D":
            i += u("D", t.getDay(), l.dayNamesShort, l.dayNames);
            break;
        case "o":
            i += g("o", (t.getTime() - (new Date(t.getFullYear(), 0, 0)).getTime()) / 864E5, 3);
            break;
        case "m":
            i += g("m", t.getMonth() + 1, 2);
            break;
        case "M":
            i += u("M", t.getMonth(), l.monthNamesShort, l.monthNames);
            break;
        case "y":
            i += m("y") ? t.getFullYear() : (10 > t.getYear() % 100 ? "0": "") + t.getYear() % 100;
            break;
        case "h":
            var s = t.getHours(),
            i = i + g("h", 12 < s ? s - 12 : 0 == s ? 12 : s, 2);
            break;
        case "H":
            i += g("H", t.getHours(), 2);
            break;
        case "i":
            i += g("i", t.getMinutes(), 2);
            break;
        case "s":
            i += g("s", t.getSeconds(), 2);
            break;
        case "a":
            i += 11 < t.getHours() ? "pm": "am";
            break;
        case "A":
            i += 11 < t.getHours() ? "PM": "AM";
            break;
        case "'":
            m("'") ? i += "'": f = !0;
            break;
        default:
            i += k.charAt(r)
        }
        return i
    };
    u.parseDate = function(k, t, l) {
        var m = new Date;
        if (!k || !t) return m;
        var t = "object" == typeof t ? t.toString() : t + "",
        g = a.extend({},
        o, l),
        u = g.shortYearCutoff,
        l = m.getFullYear(),
        r = m.getMonth() + 1,
        i = m.getDate(),
        f = -1,
        s = m.getHours(),
        m = m.getMinutes(),
        x = 0,
        q = -1,
        h = !1,
        B = function(a) { (a = y + 1 < k.length && k.charAt(y + 1) == a) && y++;
            return a
        },
        v = function(a) {
            B(a);
            a = t.substr(w).match(RegExp("^\\d{1," + ("@" == a ? 14 : "!" == a ? 20 : "y" == a ? 4 : "o" == a ? 3 : 2) + "}"));
            if (!a) return 0;
            w += a[0].length;
            return parseInt(a[0], 10)
        },
        E = function(a, g, f) {
            a = B(a) ? f: g;
            for (g = 0; g < a.length; g++) if (t.substr(w, a[g].length).toLowerCase() == a[g].toLowerCase()) return w += a[g].length,
            g + 1;
            return 0
        },
        w = 0,
        y;
        for (y = 0; y < k.length; y++) if (h)"'" == k.charAt(y) && !B("'") ? h = !1 : w++;
        else switch (k.charAt(y)) {
        case "d":
            i = v("d");
            break;
        case "D":
            E("D", g.dayNamesShort, g.dayNames);
            break;
        case "o":
            f = v("o");
            break;
        case "m":
            r = v("m");
            break;
        case "M":
            r = E("M", g.monthNamesShort, g.monthNames);
            break;
        case "y":
            l = v("y");
            break;
        case "H":
            s = v("H");
            break;
        case "h":
            s = v("h");
            break;
        case "i":
            m = v("i");
            break;
        case "s":
            x = v("s");
            break;
        case "a":
            q = E("a", ["am", "pm"], ["am", "pm"]) - 1;
            break;
        case "A":
            q = E("A", ["am", "pm"], ["am", "pm"]) - 1;
            break;
        case "'":
            B("'") ? w++:h = !0;
            break;
        default:
            w++
        }
        100 > l && (l += (new Date).getFullYear() - (new Date).getFullYear() % 100 + (l <= ("string" != typeof u ? u: (new Date).getFullYear() % 100 + parseInt(u, 10)) ? 0 : -100));
        if ( - 1 < f) {
            r = 1;
            i = f;
            do {
                g = 32 - (new Date(l, r - 1, 32)).getDate();
                if (i <= g) break;
                r++;
                i -= g
            } while ( 1 )
        }
        s = new Date(l, r - 1, i, -1 == q ? s: q && 12 > s ? s + 12 : !q && 12 == s ? 0 : s, m, x);
        if (s.getFullYear() != l || s.getMonth() + 1 != r || s.getDate() != i) throw "Invalid date";
        return s
    }
})(jQuery); (function(a) {
    a.mobiscroll.i18n.hu = a.extend(a.mobiscroll.i18n.hu, {
        dateFormat: "dd.mm.yy",
        dateOrder: "ddmmyy",
        dayNames: "Vas\u00e1rnap,H\u00e9tf\u0151,Kedd,Szerda,Cs\u00fct\u00f6rt\u00f6k,P\u00e9ntek,Szombat".split(","),
        dayNamesShort: "Vas,H\u00e9t,Ked,Sze,Cs\u00fc,P\u00e9n,Szo".split(","),
        dayText: "Nap",
        hourText: "\u00d3ra",
        minuteText: "Perc",
        monthNames: "Janu\u00e1r,Febru\u00e1r,M\u00e1rcius,\u00c1prilis,M\u00e1jus,J\u00fanius,J\u00falius,Augusztus,Szeptember,Okt\u00f3ber,November,December".split(","),
        monthNamesShort: "Jan,Feb,M\u00e1r,\u00c1pr,M\u00e1j,J\u00fan,J\u00fal,Aug,Szep,Okt,Nov,Dec".split(","),
        monthText: "H\u00f3nap",
        secText: "M\u00e1sodperc",
        timeFormat: "HH:ii",
        timeWheels: "HHii",
        yearText: "\u00c9v",
        nowText: "Most"
    })
})(jQuery); (function(a) {
    a.mobiscroll.i18n.de = a.extend(a.mobiscroll.i18n.de, {
        dateFormat: "dd.mm.yy",
        dateOrder: "ddmmyy",
        dayNames: "Sonntag,Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag".split(","),
        dayNamesShort: "So,Mo,Di,Mi,Do,Fr,Sa".split(","),
        dayText: "Tag",
        hourText: "Stunde",
        minuteText: "Minuten",
        monthNames: "Januar,Februar,M\u00e4rz,April,Mai,Juni,Juli,August,September,Oktober,November,Dezember".split(","),
        monthNamesShort: "Jan,Feb,M\u00e4r,Apr,Mai,Jun,Jul,Aug,Sep,Okt,Nov,Dez".split(","),
        monthText: "Monat",
        secText: "Sekunden",
        timeFormat: "HH:ii",
        timeWheels: "HHii",
        yearText: "Jahr",
        nowText: "Jetzt"
    })
})(jQuery); (function(a) {
    a.mobiscroll.i18n.es = a.extend(a.mobiscroll.i18n.es, {
        dateFormat: "dd/mm/yy",
        dateOrder: "ddmmyy",
        dayNames: "Domingo,Lunes,Martes,Mi&#xE9;rcoles,Jueves,Viernes,S&#xE1;bado".split(","),
        dayNamesShort: "Do,Lu,Ma,Mi,Ju,Vi,S&#xE1;".split(","),
        dayText: "D&#237;a",
        hourText: "Horas",
        minuteText: "Minutos",
        monthNames: "Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre,Noviembre,Diciembre".split(","),
        monthNamesShort: "Ene,Feb,Mar,Abr,May,Jun,Jul,Ago,Sep,Oct,Nov,Dic".split(","),
        monthText: "Mes",
        secText: "Segundos",
        timeFormat: "HH:ii",
        timeWheels: "HHii",
        yearText: "A&ntilde;o",
        nowText: "Ahora"
    })
})(jQuery); (function(a) {
    a.mobiscroll.i18n.fr = a.extend(a.mobiscroll.i18n.fr, {
        dateFormat: "dd/mm/yy",
        dateOrder: "ddmmyy",
        dayNames: "&#68;imanche,Lundi,Mardi,Mercredi,Jeudi,Vendredi,Samedi".split(","),
        dayNamesShort: "&#68;im.,Lun.,Mar.,Mer.,Jeu.,Ven.,Sam.".split(","),
        dayText: "Jour",
        monthText: "Mois",
        monthNames: "Janvier,F\u00e9vrier,Mars,Avril,Mai,Juin,Juillet,Ao\u00fbt,Septembre,Octobre,Novembre,D\u00e9cembre".split(","),
        monthNamesShort: "Janv.,F\u00e9vr.,Mars,Avril,Mai,Juin,Juil.,Ao\u00fbt,Sept.,Oct.,Nov.,D\u00e9c.".split(","),
        hourText: "Heures",
        minuteText: "Minutes",
        secText: "Secondes",
        timeFormat: "HH:ii",
        timeWheels: "HHii",
        yearText: "Ann\u00e9e",
        nowText: "Maintenant"
    })
})(jQuery); (function(a) {
    a.mobiscroll.i18n.it = a.extend(a.mobiscroll.i18n.it, {
        dateFormat: "dd-mm-yyyy",
        dateOrder: "ddmmyy",
        dayNames: "Domenica,Luned&Igrave;,Merted&Igrave;,Mercoled&Igrave;,Gioved&Igrave;,Venerd&Igrave;,Sabato".split(","),
        dayNamesShort: "Do,Lu,Ma,Me,Gi,Ve,Sa".split(","),
        dayText: "Giorno",
        hourText: "Ore",
        minuteText: "Minuti",
        monthNames: "Gennaio,Febbraio,Marzo,Aprile,Maggio,Giugno,Luglio,Agosto,Settembre,Ottobre,Novembre,Dicembre".split(","),
        monthNamesShort: "Gen,Feb,Mar,Apr,Mag,Giu,Lug,Ago,Set,Ott,Nov,Dic".split(","),
        monthText: "Mese",
        secText: "Secondi",
        timeFormat: "HH:ii",
        timeWheels: "HHii",
        yearText: "Anno"
    })
})(jQuery); (function(a) {
    a.mobiscroll.i18n.no = a.extend(a.mobiscroll.i18n.no, {
        dateFormat: "dd.mm.yy",
        dateOrder: "ddmmyy",
        dayNames: "S\u00f8ndag,Mandag,Tirsdag,Onsdag,Torsdag,Fredag,L\u00f8rdag".split(","),
        dayNamesShort: "S\u00f8,Ma,Ti,On,To,Fr,L\u00f8".split(","),
        dayText: "Dag",
        hourText: "Time",
        minuteText: "Minutt",
        monthNames: "Januar,Februar,Mars,April,Mai,Juni,Juli,August,September,Oktober,November,Desember".split(","),
        monthNamesShort: "Jan,Feb,Mar,Apr,Mai,Jun,Jul,Aug,Sep,Okt,Nov,Des".split(","),
        monthText: "M\u00e5ned",
        secText: "Sekund",
        timeFormat: "HH:ii",
        timeWheels: "HHii",
        yearText: "\u00c5r",
        nowText: "N\u00e5"
    })
})(jQuery); (function(a) {
    a.mobiscroll.i18n["pt-BR"] = a.extend(a.mobiscroll.i18n["pt-BR"], {
        dateFormat: "dd/mm/yy",
        dateOrder: "ddMMyy",
        dayNames: "Domingo,Segunda-feira,Ter\u00e7a-feira,Quarta-feira,Quinta-feira,Sexta-feira,S\u00e1bado".split(","),
        dayNamesShort: "Dom,Seg,Ter,Qua,Qui,Sex,S\u00e1b".split(","),
        dayText: "Dia",
        hourText: "Hora",
        minuteText: "Minutos",
        monthNames: "Janeiro,Fevereiro,Mar\u00e7o,Abril,Maio,Junho,Julho,Agosto,Setembro,Outubro,Novembro,Dezembro".split(","),
        monthNamesShort: "Jan,Fev,Mar,Abr,Mai,Jun,Jul,Ago,Set,Out,Nov,Dez".split(","),
        monthText: "M\u00eas",
        secText: "Segundo",
        timeFormat: "HH:ii",
        timeWheels: "HHii",
        yearText: "Ano"
    })
})(jQuery); (function(a) {
    var u = a.mobiscroll,
    k = {
        invalid: [],
        showInput: !0,
        inputClass: ""
    },
    o = function(o) {
        function u(g, c, b, e) {
            for (var d = 0; d < c;) {
                var f = a(".dwwl" + d, g),
                i = t(e, d, b);
                a.each(i,
                function(b, c) {
                    a('.dw-li[data-val="' + c + '"]', f).removeClass("dw-v")
                });
                d++
            }
        }
        function t(a, c, b) {
            for (var e = 0,
            d, g = []; e < c;) {
                var f = a[e];
                for (d in b) if (b[d].key == f) {
                    b = b[d].children;
                    break
                }
                e++
            }
            for (e = 0; e < b.length;) b[e].invalid && g.push(b[e].key),
            e++;
            return g
        }
        function l(a, c) {
            for (var b = []; a;) b[--a] = !0;
            b[c] = !1;
            return b
        }
        function m(a, c, b) {
            var e = 0,
            d, f, i = [{}],
            h = w;
            if (c) for (d = 0; d < c; d++) i[d] = {},
            i[d][y[d]] = {};
            for (; e < a.length;) {
                i[e] = {};
                d = i[e];
                for (var c = y[e], k = h, l = {},
                m = 0; m < k.length;) l[k[m].key] = k[m++].value;
                d[c] = l;
                d = 0;
                for (c = void 0; d < h.length && void 0 === c;) {
                    if (h[d].key == a[e] && (void 0 !== b && e <= b || void 0 === b)) c = d;
                    d++
                }
                if (void 0 !== c && h[c].children) e++,
                h = h[c].children;
                else if ((f = g(h)) && f.children) e++,
                h = f.children;
                else break
            }
            return i
        }
        function g(a, c) {
            if (!a) return ! 1;
            for (var b = 0,
            e; b < a.length;) if (! (e = a[b++]).invalid) return c ? b - 1 : e;
            return ! 1
        }
        function C(g, c) {
            a(".dwc", g).css("display", "").slice(c).hide()
        }
        function r(a, c) {
            var b = [],
            e = w,
            d = 0,
            f = !1,
            i,
            h;
            if (void 0 !== a[d] && d <= c) {
                f = 0;
                i = a[d];
                for (h = void 0; f < e.length && void 0 === h;) e[f].key == a[d] && !e[f].invalid && (h = f),
                f++
            } else h = g(e, !0),
            i = e[h].key;
            f = void 0 !== h ? e[h].children: !1;
            for (b[d] = i; f;) {
                e = e[h].children;
                d++;
                if (void 0 !== a[d] && d <= c) {
                    f = 0;
                    i = a[d];
                    for (h = void 0; f < e.length && void 0 === h;) e[f].key == a[d] && !e[f].invalid && (h = f),
                    f++
                } else h = g(e, !0),
                h = !1 === h ? void 0 : h,
                i = e[h].key;
                f = void 0 !== h && g(e[h].children) ? e[h].children: !1;
                b[d] = i
            }
            return {
                lvl: d + 1,
                nVector: b
            }
        }
        function i(g) {
            var c = [];
            A = A > v++?A: v;
            g.children("li").each(function(b) {
                var e = a(this),
                d = e.clone();
                d.children("ul,ol").remove();
                var d = d.html().replace(/^\s\s*/, "").replace(/\s\s*$/, ""),
                g = e.data("invalid") ? !0 : !1,
                b = {
                    key: e.data("val") || b,
                    value: d,
                    invalid: g,
                    children: null
                },
                e = e.children("ul,ol");
                e.length && (b.children = i(e));
                c.push(b)
            });
            v--;
            return c
        }
        var f = a.extend({},
        k, o.settings),
        s = a(this),
        x,
        q,
        h = this.id + "_dummy",
        A = 0,
        v = 0,
        E = {},
        w = f.wheelArray || i(s),
        y = function(a) {
            var c = [],
            b;
            for (b = 0; b < a; b++) c[b] = f.labels && f.labels[b] ? f.labels[b] : b;
            return c
        } (A),
        K = [],
        D = function(a) {
            for (var c = [], b, e = !0, d = 0; e;) if (b = g(a), c[d++] = b.key, e = b.children) a = b.children;
            return c
        } (w),
        D = m(D, A);
        a("#" + h).remove();
        f.showInput && (x = a('<input type="text" id="' + h + '" value="" class="' + f.inputClass + '" readonly />').insertBefore(s), o.settings.anchor = x, f.showOnFocus && x.focus(function() {
            o.show()
        }));
        f.wheelArray || s.hide().closest(".ui-field-contain").trigger("create");
        return {
            width: 50,
            wheels: D,
            headerText: !1,
            onBeforeShow: function() {
                var a = o.temp;
                K = a.slice(0);
                o.settings.wheels = m(a, A, A);
                q = true
            },
            onSelect: function(a) {
                x && x.val(a)
            },
            onChange: function(a) {
                x && f.display == "inline" && x.val(a)
            },
            onClose: function() {
                x && x.blur()
            },
            onShow: function(g) {
                a(".dwwl", g).bind("mousedown touchstart",
                function() {
                    clearTimeout(E[a(".dwwl", g).index(this)])
                })
            },
            validate: function(a, c, b) {
                var e = o.temp;
                if (c !== void 0 && K[c] != e[c] || c === void 0 && !q) {
                    o.settings.wheels = m(e, null, c);
                    var d = [],
                    g = (c || 0) + 1,
                    f = r(e, c);
                    if (c !== void 0) o.temp = f.nVector.slice(0);
                    for (; g < f.lvl;) d.push(g++);
                    C(a, f.lvl);
                    K = o.temp.slice(0);
                    if (d.length) {
                        q = true;
                        o.settings.readonly = l(A, c);
                        clearTimeout(E[c]);
                        E[c] = setTimeout(function() {
                            o.changeWheel(d);
                            o.settings.readonly = false
                        },
                        b * 1E3);
                        return false
                    }
                    u(a, f.lvl, w, o.temp)
                } else {
                    f = r(e, e.length);
                    u(a, f.lvl, w, e);
                    C(a, f.lvl)
                }
                q = false
            }
        }
    };
    a.each(["list", "image", "treelist"],
    function(a, k) {
        u.presets[k] = o;
        u.presetShort(k)
    })
})(jQuery); (function(a) {
    var u = {
        inputClass: "",
        invalid: [],
        rtl: !1,
        group: !1,
        groupLabel: "Groups"
    };
    a.mobiscroll.presetShort("select");
    a.mobiscroll.presets.select = function(k) {
        function o(a) {
            return a ? a.replace(/_/, "") : ""
        }
        function B() {
            var c, b = 0,
            e = {},
            d = [{}];
            l.group ? (l.rtl && (b = 1), a("optgroup", m).each(function(b) {
                e["_" + b] = a(this).attr("label")
            }), d[b] = {},
            d[b][l.groupLabel] = e, c = i, b += l.rtl ? -1 : 1) : c = m;
            d[b] = {};
            d[b][h] = {};
            a("option", c).each(function() {
                var c = a(this).attr("value");
                d[b][h]["_" + c] = a(this).text();
                a(this).prop("disabled") && A.push(c)
            });
            return d
        }
        function U(a, b) {
            var e = [];
            if (g) {
                var d = [],
                f = 0;
                for (f in k._selectedValues) d.push(E[f]),
                e.push(f);
                D.val(d.join(", "))
            } else D.val(a),
            e = b ? o(k.values[y]) : null;
            b && (x = !0, m.val(e).trigger("change"))
        }
        var t = k.settings,
        l = a.extend({},
        u, t),
        m = a(this),
        g = m.prop("multiple"),
        C = this.id + "_dummy",
        r = g ? m.val() ? m.val()[0] : a("option", m).attr("value") : m.val(),
        i = m.find('option[value="' + r + '"]').parent(),
        f = i.index() + "",
        s = f,
        x;
        a('label[for="' + this.id + '"]').attr("for", C);
        var q = a('label[for="' + C + '"]'),
        h = void 0 !== l.label ? l.label: q.length ? q.text() : m.attr("name"),
        A = [],
        v = [],
        E = {},
        w,
        y,
        K,
        D,
        F = t.readonly;
        l.group && !a("optgroup", m).length && (l.group = !1);
        l.invalid.length || (l.invalid = A);
        l.group ? l.rtl ? (w = 1, y = 0) : (w = 0, y = 1) : (w = -1, y = 0);
        a("#" + C).remove();
        D = a('<input type="text" id="' + C + '" class="' + l.inputClass + '" readonly />').insertBefore(m);
        a("option", m).each(function() {
            E[a(this).attr("value")] = a(this).text()
        });
        l.showOnFocus && D.focus(function() {
            k.show()
        });
        C = m.val() || [];
        q = 0;
        for (q; q < C.length; q++) k._selectedValues[C[q]] = C[q];
        U(E[r]);
        m.unbind(".dwsel").bind("change.dwsel",
        function() {
            x || k.setSelectVal(g ? m.val() || [] : [m.val()], true);
            x = false
        }).hide().closest(".ui-field-contain").trigger("create");
        k.setSelectVal = function(c, b, e) {
            r = c[0] || a("option", m).attr("value");
            if (g) {
                k._selectedValues = {};
                var d = 0;
                for (d; d < c.length; d++) k._selectedValues[c[d]] = c[d]
            }
            if (l.group) {
                i = m.find('option[value="' + r + '"]').parent();
                s = i.index();
                k.temp = l.rtl ? ["_" + r, "_" + i.index()] : ["_" + i.index(), "_" + r];
                if (s !== f) {
                    t.wheels = B();
                    k.changeWheel([y]);
                    f = s + ""
                }
            } else k.temp = ["_" + r];
            k.setValue(true, b, e);
            if (b) {
                c = g ? true: r !== m.val();
                U(E[r], c)
            }
        };
        k.getSelectVal = function(a) {
            return o((a ? k.temp: k.values)[y])
        };
        return {
            width: 50,
            wheels: void 0,
            headerText: !1,
            multiple: g,
            anchor: D,
            formatResult: function(a) {
                return E[o(a[y])]
            },
            parseValue: function() {
                var c = m.val() || [],
                b = 0;
                if (g) {
                    k._selectedValues = {};
                    for (b; b < c.length; b++) k._selectedValues[c[b]] = c[b]
                }
                r = g ? m.val() ? m.val()[0] : a("option", m).attr("value") : m.val();
                i = m.find('option[value="' + r + '"]').parent();
                s = i.index();
                f = s + "";
                return l.group && l.rtl ? ["_" + r, "_" + s] : l.group ? ["_" + s, "_" + r] : ["_" + r]
            },
            validate: function(c, b, e) {
                if (b === void 0 && g) {
                    var d = k._selectedValues,
                    h = 0;
                    for (h in d) a(".dwwl" + y + ' .dw-li[data-val="_' + d[h] + '"]', c).addClass("dw-msel")
                }
                if (b === w) {
                    s = o(k.temp[w]);
                    if (s !== f) {
                        i = m.find("optgroup").eq(s);
                        s = i.index();
                        r = (r = i.find("option").eq(0).val()) || m.val();
                        t.wheels = B();
                        if (l.group) {
                            k.temp = l.rtl ? ["_" + r, "_" + s] : ["_" + s, "_" + r];
                            t.readonly = [l.rtl, !l.rtl];
                            clearTimeout(K);
                            K = setTimeout(function() {
                                k.changeWheel([y]);
                                t.readonly = F;
                                f = s + ""
                            },
                            e * 1E3);
                            return false
                        }
                    } else t.readonly = F
                } else r = o(k.temp[y]);
                var q = a(".dw-ul", c).eq(y);
                a.each(l.invalid,
                function(b, c) {
                    a('.dw-li[data-val="_' + c + '"]', q).removeClass("dw-v")
                })
            },
            onBeforeShow: function() {
                t.wheels = B();
                if (l.group) k.temp = l.rtl ? ["_" + r, "_" + i.index()] : ["_" + i.index(), "_" + r]
            },
            onMarkupReady: function(c) {
                a(".dwwl" + w, c).bind("mousedown touchstart",
                function() {
                    clearTimeout(K)
                });
                if (g) {
                    c.addClass("dwms");
                    a(".dwwl", c).eq(y).addClass("dwwms");
                    v = {};
                    for (var b in k._selectedValues) v[b] = k._selectedValues[b]
                }
            },
            onValueTap: function(a) {
                if (g && a.hasClass("dw-v") && a.closest(".dw").find(".dw-ul").index(a.closest(".dw-ul")) == y) {
                    var b = o(a.attr("data-val"));
                    a.hasClass("dw-msel") ? delete k._selectedValues[b] : k._selectedValues[b] = b;
                    a.toggleClass("dw-msel");
                    l.display == "inline" && U(b, true);
                    return false
                }
            },
            onSelect: function(a) {
                U(a, true);
                if (l.group) k.values = null
            },
            onCancel: function() {
                if (l.group) k.values = null;
                if (g) {
                    k._selectedValues = {};
                    for (var a in v) k._selectedValues[a] = v[a]
                }
            },
            onChange: function(a) {
                if (l.display == "inline" && !g) {
                    D.val(a);
                    x = true;
                    m.val(o(k.temp[y])).trigger("change")
                }
            },
            onClose: function() {
                D.blur()
            },
            methods: {
                setValue: function(c, b, e) {
                    return this.each(function() {
                        var d = a(this).mobiscroll("getInst");
                        if (d) if (d.setSelectVal) d.setSelectVal(c, b, e);
                        else {
                            d.temp = c;
                            d.setValue(true, b, e)
                        }
                    })
                },
                getValue: function(c) {
                    var b = a(this).mobiscroll("getInst");
                    if (b) return b.getSelectVal ? b.getSelectVal(c) : b.values
                }
            }
        }
    }
})(jQuery); (function(a) {
    a.mobiscroll.themes.android = {
        defaults: {
            dateOrder: "Mddyy",
            mode: "clickpick",
            height: 50
        }
    }
})(jQuery); (function(a) {
    var u = {
        defaults: {
            dateOrder: "Mddyy",
            mode: "mixed",
            rows: 5,
            width: 70,
            height: 36,
            showLabel: !1
        }
    };
    a.mobiscroll.themes["android-ics"] = u;
    a.mobiscroll.themes["android-ics light"] = u
})(jQuery); (function(a) {
    a.mobiscroll.themes.ios = {
        defaults: {
            dateOrder: "MMdyy",
            rows: 5,
            height: 30,
            width: 55,
            headerText: !1,
            showLabel: !1
        }
    }
})(jQuery); (function(a) {
    a.mobiscroll.themes.jqm = {
        defaults: {
            jqmBorder: "a",
            jqmBody: "c",
            jqmHeader: "b",
            jqmWheel: "d",
            jqmClickPick: "c",
            jqmSet: "b",
            jqmCancel: "c"
        },
        init: function(u, k) {
            var o = k.settings;
            a(".dw", u).removeClass("dwbg").addClass("ui-overlay-shadow ui-corner-all ui-body-" + o.jqmBorder);
            a(".dwb-s span", u).attr("data-role", "button").attr("data-theme", o.jqmSet);
            a(".dwb-n span", u).attr("data-role", "button").attr("data-theme", o.jqmCancel);
            a(".dwb-c span", u).attr("data-role", "button").attr("data-theme", o.jqmCancel);
            a(".dwwb", u).attr("data-role", "button").attr("data-theme", o.jqmClickPick);
            a(".dwv", u).addClass("ui-header ui-bar-" + o.jqmHeader);
            a(".dwwr", u).addClass("ui-body-" + o.jqmBody);
            a(".dwpm .dwwl", u).addClass("ui-body-" + o.jqmWheel);
            a(".dwpm .dwl", u).addClass("ui-body-" + o.jqmBody);
            u.trigger("create");
            a(".dwo", u).click(function() {
                k.cancel()
            })
        }
    }
})(jQuery); (function(a) {
    a.mobiscroll.themes.wp = {
        defaults: {
            width: 70,
            height: 76,
            accent: "none",
            dateOrder: "mmMMddDDyy"
        },
        init: function(u, k) {
            var o, B;
            a(".dw", u).addClass("wp-" + k.settings.accent);
            a(".dwwl", u).bind("touchstart mousedown DOMMouseScroll mousewheel",
            function() {
                o = !0;
                B = a(this).hasClass("wpa");
                a(".dwwl", u).removeClass("wpa");
                a(this).addClass("wpa")
            }).bind("touchmove mousemove",
            function() {
                o = !1
            }).bind("touchend mouseup",
            function() {
                o && B && a(this).removeClass("wpa")
            })
        }
    };
    a.mobiscroll.themes["wp light"] = a.mobiscroll.themes.wp
})(jQuery);